// miniprogram/pages/afterSaleDetail/afterSaleDetail.js
import {getBgCustomerServiceDetail} from '../../api/api.js';
import {findMerchant,customerServer} from '../../api/api.js';
// import {updateForAfterSales} from '../../api/api.js';
import {bgUpdateForAfterSales,getMerchantAddress} from '../../api/api.js';
Page({

  /**
   * 页面的初始数据
   */   
  data: {
      afterSaleDetail:{},//这个好像没有用，不过最好别动他
      orderAfterSales:{},
      orderDetailsList:{},
      orderInfo:{},
      phone:"",
      showAddress:false,//控制地址页面是否显示
      addressId:"",
      showSendGood:false,//控制发货弹出框,
      express:"ems",//填写的物流类型和物流单号
      expressNum:"",
      showPayImgBox:false,
      returnImgs:[],//上传返回的图片
      imgsList:[]//用来回显的图片


  },


  
  //选择图片
  selImg(){
    let that = this;
    wx.chooseImage({
      success (res) {
        const tempFilePaths = res.tempFilePaths;
        let imgsList = that.data.imgsList;
        //把选择的图片添加到imgslist 里面
        tempFilePaths.forEach(item=>{
            imgsList.push(item);
            //循环的时候发送多个请求，发送多张图片
            //一次选择的图片路径是一个数组，
            console.log(tempFilePaths,"图片路径");
            wx.uploadFile({
              url:customerServer, //仅为示例，非真实的接口地址
              filePath:item,
              name: 'file',
              formData: {
                'user': 'test'
              },
              success (res){
                // const data = res.data
                console.log(res);
               
                let result =  JSON.parse(res.data);
                if(result.code == 200){
                    let returnImgs = that.data.returnImgs;
                    returnImgs.push(result.data);
                    //把返回的结果存储到一个数组中
                    that.setData({
                        returnImgs
                    })


                    console.log(that.data.returnImgs,"图片数组");
                }else{
                    wx.showToast({
                      title: '服务器错误',
                      icon:"none"
                    })
                }
                //do something
              }
            })


        })
        //添加到这个里面是为了回显
        that.setData({
            imgsList
        })

       
      }
    })
  },




  // 输入快递名称和快递号码
  onChange(event) {
    this.setData({
      express: event.detail
    });

    console.log(event.detail);
  },


  input(e){
       console.log(e.detail.value);
       this.setData({
         expressNum:e.detail.value
       })
  },

  selAddress(e){
      console.log(e.target.dataset.id,"选择地址");
      this.setData({
          showAddress:false
      })
      this.setData({
          addressId:e.target.dataset.id
      })

      this.sendAfterSales(1);
    
  },

  // 商家上传支付凭证
  sendPayMoneyImg(){
      let img = this.data.returnImgs;
      let imgS = ""
      if(img.length>0){
         img.forEach(item=>{
              imgS+=item+","
         })
         imgS = imgS.substring(0,imgS.length-1);
      }else{
          wx.showToast({
            title: '没有选择图片哦！',
            icon:'none'
          })
      }

      let data = this.data.orderAfterSales;
      data.autoexecDate = null;
      data.refundPic = imgS;
      bgUpdateForAfterSales(data).then(res=>{
        console.log(res,"同意售后的返回值");
        if(res.data.code == 200){
              wx.showToast({
                title: '操作成功！',
              })

              setTimeout(() => {
                  // wx.navigateBack({
                  // })


                  this.onShow();
              },300);    
        }else{
             wx.showToast({
               title:res.data.msg,
               icon:"none"
             })
        }
    })


  },


  //商家确认收货
  reciveGoods(){
      console.log("确认收货");
      let that = this;
      // let data = {
      //   id:this.data.orderAfterSales.id,//售后id
      //  
      //   version:this.data.orderAfterSales.version,
      //   merchantId:this.data.orderAfterSales.merchantId,
      // }

     
      let data = this.data.orderAfterSales;
      data.autoexecDate = null;
      // if(data.afterSalesType == 2){
      //   // 退换
      //   data.status = 1 //等待买家处理，买家
          
      // }else if(data.afterSalesType == 3){
      //   //  换货
      // }


      //已打款售后和未打款售后
      if(this.data.orderAfterSales.payStatus == true){
        //等待商家退款
        console.log("已打款售后==========")
        // 处理完成，可以选择上传卖家打款的凭证
        data.status = 4;
        this.setData({
          showPayImgBox:true
        })

      }else{
         //等待平台退款
         console.log("未打款售后==========")
          data.status = 6;
      }




    
      bgUpdateForAfterSales(data).then(res=>{
        console.log(res,"------");
        if(res.data.code == 200){
            wx.showToast({
              title: '提交成功',
            })
            that.onShow();
        }else{
            wx.showToast({
              title:res.data.msg,
              icon:'none'
            })
        }
     })
  },


  addLogistics(){
      this.setData({
        showSendGood:true  
      })
  },

  addLogisticsBtn(){
     let name = this.data.express;
     let num = this.data.expressNum;
    //  express:"ems",//填写的物流类型和物流单号
    //  expressNum:"",
     
     let after = this.data.orderAfterSales;
     after.barterShippingCode = num;
     after.barterShippingName = name;
     after.autoexecDate = null;
     after.status = 1;//等待买家确认收货


    bgUpdateForAfterSales(after).then(res=>{
        console.log(res,"------");
        if(res.data.code == 200){
            wx.showToast({
              title: '提交成功',
            })
            that.onShow();
        }else{
            wx.showToast({
              title:res.data.msg,
              icon:'none'
            })
        }
  })


    this.setData({
      showSendGood:false  
    })
  },

  agree(){
    // this.sendAfterSales(1);
    this.setData({
        showAddress:true
    })
  },

  refuse(){
       console.log("拒绝")
       this.sendAfterSales(0);
       
  },

  getAddress(){
    getMerchantAddress().then(res=>{
        console.log(res,"商家获取的到的地址")
        this.setData({
          getAddress:res.data.data
        })

    })
  },


  sendAfterSales(flag){
    let that  = this;
    console.log("同意")
    let afterSaleDetail = this.data.orderAfterSales;
    console.log(afterSaleDetail,"after")
    // let data = {
    //     // 订单id
    //     orderId:afterSaleDetail.orderId,
    //     id:afterSaleDetail.id,//售后id
    //     merchantId:afterSaleDetail.merchantId,
    //     afterSalesType:afterSaleDetail.afterSalesType,
    //     logisticsRecord:afterSaleDetail.logisticsRecord,
    //     version:afterSaleDetail.version,
    //     merchantStatus:flag, //1同意 0 拒绝
        
    // }

    //判断是同意你还是拒绝
    if(flag == 1){
        //获取地址，把地址id放进去
        //如果同意那么等待平台打款
        // afterSaleDetail.returnAddressId = this.data.addressId
        // afterSaleDetail.status = 6;

        //判断是退款还是退货退款
        if(afterSaleDetail.afterSalesType == 1){
            // 退款
            // afterSaleDetail.returnAddressId = this.data.addressId
            afterSaleDetail.status = 6;//处理结束等待平台打款

    

        }else{
            // 退货退款
            
            afterSaleDetail.returnAddressId = this.data.addressId
            afterSaleDetail.status = 1;//等待买家处理
    
        }
    }else{
        // 如果拒绝最后一步售后结束
        afterSaleDetail.status = 4;
    }

    afterSaleDetail.merchantStatus = flag;
    afterSaleDetail.autoexecDate = null;
    
    // 拒绝的时候添加一个参数
    // if(flag == 0){
    //      data.spec = afterSaleDetail.spec;
    // }

    let session = wx.getStorageSync('merchantLoginInfo').session;
    // console.log(data);


    bgUpdateForAfterSales(afterSaleDetail,session).then(res=>{
        console.log(res,"同意售后的返回值");
        if(res.data.code == 200){
              wx.showToast({
                title: '操作成功！',
              })

              setTimeout(() => {
                  // wx.navigateBack({
                  // })


                  this.onShow();
              },300);    
        }else{
             wx.showToast({
               title:res.data.msg,
               icon:"none"
             })
        }
    })
  },




  onShow: function () {
    let page = getCurrentPages()[getCurrentPages().length-1];
    let options = page.options;
    let id = options.id
    let session =  wx.getStorageSync('merchantLoginInfo').session;

    this.getAddress();


  
    getBgCustomerServiceDetail(id,session).then(res=>{
        console.log(res,"售后详情页面");
        let afterSaleDetail = res.data.data;
        let orderAfterSales = afterSaleDetail.orderAfterSales;
        let orderDetailsList = afterSaleDetail.orderDetailsList;
        let orderInfo = afterSaleDetail.orderInfo;
        //解析规格,然后保存到data中
        this.parseSpec(orderDetailsList);
        //解析时间格式，计算倒计时autoexecDate
        this.parseTime(orderAfterSales);
        // this.setData({
        //       afterSaleDetail:res.data.data
        // })
        //afterSaleDetail
        // this.getPhone(orderInfo);
    })
  },

// 控制发货弹出框
  onClose(){
       this.setData({
          showSendGood:false,
          showPayImgBox:false
       })
  },




  // 下面是备用代码=================================================================================


//获取商家电话号码
    getPhone(orderInfo){
        let merchantId = orderInfo.merchantId;
        console.log(merchantId,"电话号码")
        
        findMerchant(merchantId).then(res=>{
             console.log(res,"电话号码");
             this.setData({
                 phone:res.data.data.phone
             })
        })
    },

    //店家拨打电话按钮
    call(){
         console.log("拨打电话");
         wx.makePhoneCall({
            phoneNumber:this.data.phone //仅为示例，并非真实的电话号码
          })
    },

 


//在线联系卖家
  contactSell(){
    //在线联系卖家
     

  },

   
  parseTime(orderAfterSales){
     let time = orderAfterSales.autoexecDate;
      // 开始时间
      var begin = new Date();
      // 结束时间
      var end = new Date(time);
      //时间相差毫秒数
      var span = end.getTime() - begin.getTime();
      console.info(span);//36290000
      //计算相差天数
      var result = '';
      var days = Math.floor(span / (24 * 3600 * 1000));
      result += days + '天';
      //相差小时数
      var leave1 = span % (24 * 3600 * 1000);
      var hours = Math.floor(leave1 / (3600 * 1000))
      result += hours + '小时';
      //相差分钟
      var leave2 = leave1 % (3600 * 1000)
      var minutes = Math.floor(leave2 / (60 * 1000));
      result += minutes + '分钟';
      //相差秒
      var level3 = leave2 % (60 * 1000)
      var seconds = Math.round(level3 / 1000);
      result += seconds + '秒';
      console.info(result); //0天10小时4分钟50秒
      orderAfterSales.autoexecDate = result;
      this.setData({
          orderAfterSales
      })


  },


//    解析规格
  parseSpec(orderDetailsList){
    // foreach 是对原来的数据进行修改
     orderDetailsList.forEach(item=>{
         item.specName = JSON.parse(item.specName);
     })
     this.setData({
        orderDetailsList:orderDetailsList
     })
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})












  // //客服介入
  // CustomerServerIn(){
  //     console.log("客服介入");
  //      // status  处理状态 1等待买家处理/2等待卖家处理/3平台介入/4处理完成/5撤销售后
  //      if(this.data.orderAfterSales.status == 4|| this.data.orderAfterSales.status == 5){
  //         wx.showToast({
  //           title: '当前状态下客服无法介入',
  //           icon:'none'
  //         })

  //         return;
  //     }

  //     let data = {
  //       openId:wx.getStorageSync('loginInfo').openid,
  //       id:this.data.orderAfterSales.id,
  //       version:this.data.orderAfterSales.version,
  //       status:3
  //     }
  //     updateForAfterSales(data).then(res=>{
  //         console.log(res);
  //         if(res.data.code == 200){
  //           wx.showToast({
  //             title: '平台已经介入',
  //           })


  //         }else{
  //            wx.showToast({
  //              title: '服务器错误',
  //              icon:'none'
  //            })
  //         }
  //     })
  // },

  // // 撤销申请
  //  cancelApply(){
  //      console.log("撤销申请");
  //      let that  =this;
  //     //  let orderAfterSales = this.data.orderAfterSales;
  //     //  orderAfterSales.status = 5;
  //     //  console.log(orderAfterSales);
  //     // status  处理状态 1等待买家处理/2等待卖家处理/3平台介入/4处理完成/5撤销售后
  //      if(this.data.orderAfterSales.status == 4|| this.data.orderAfterSales.status == 5){
  //          wx.showToast({
  //            title: '当前状态下不可以撤销申请',
  //            icon:'none'
  //          })

  //          return;
  //      }

  //      let data = {
  //          openId:wx.getStorageSync('loginInfo').openid,
  //          id:this.data.orderAfterSales.id,
  //          version:this.data.orderAfterSales.version,
  //          status:5

  //      }

       

  //      updateForAfterSales(data).then(res=>{
  //          console.log(res);
  //          if(res.data.code == 200){
  //             wx.showToast({
  //               title: '撤销成功',
  //             })

  //             that.onShow();
  //          }else{
  //              wx.showToast({
  //                title: '服务器错误',
  //                icon:'none'
  //              })
  //          }
  //      })
  //  },

  // //修改申请
  // changeApply(){
  //      console.log("修改申请");
  //      let list = this.data.orderDetailsList
  //   //    wx.navigateTo({
  //   //      url:'/pages/applyForAfterSales/applyForAfterSales',
  //   //    })

  //      let id = this.data.orderAfterSales.id;
  //      console.log(id);

  //      let orderDetail = {
  //          details:list  
  //      }
  //      orderDetail = JSON.stringify(orderDetail);
  //      wx.navigateTo({
  //        url:'/pages/applyForAfterSales/applyForAfterSales?id='+id
  //      })
  // },
